P vs. NP vs. NP-hard vs. NP-complete
- P
- ๋คํญ์๊ฐ ๋ด์ ํ ์ ์๋ ๋ฌธ์
- ๋๋ ๋ค์ฐจ์๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ์ฐพ์ ๋ฌธ์
- NP
- ๋คํญ์๊ฐ ๋ด์ ๋ต์ด ๋ง์๋์ง ํ๋ ธ๋์ง ํ์ธํด์ค ์ ์๋ ๋ฌธ์ (verification)
- ๋๋ ๋ค๋ฃจ๊ธฐ ํ๋ค๋ค๊ณ ์ฆ๋ช
๋์ง ์์๊ณ , ๋ค์ฐจ์๊ฐ ์๊ณ ๋ฆฌ์ฆ๋ ์ฐพ์ง ๋ชปํ ๋ฌธ์
- NP-hard
- ์๋ฌด๋ฆฌ ๋ต์ ์ถ์ธกํด๋ ๊ทธ ๋ต์ด ๋ง์๋์ง ํ๋ ธ๋์ง ํ์ธ์ด ์ด๋ ค์ด ๋ฌธ์ (์ : ์ต์ ํ ๋ฌธ์ )
- NP-complete
NP-hard
- NP-hard์ ์ํ๋ ๋ฌธ์ ๋?
- NP-hard์ ์ํ์ง ์๋ ๋ฌธ์ ๋?
- ์์ง ๋ชจ๋ฆ. ์ด๋ค ๋ฌธ์ ๊ฐ NP-hard๊ฐ ์๋๋ผ๊ณ ์ฆ๋ช
ํ๊ฒ ๋๋ค๋ฉด
P =ฬธ NP
์์ ์ฆ๋ช
ํ๊ฒ ๋๋ ๊ฒ.
- ๋คํญ์๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๊ฒฌํ ๋ฌธ์ ๋ NP-hard๊ฐ ์๋์ง๋ ๋ชจ๋ฆ.
- ๋คํญ์๊ฐ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ ์ด๋ค ๋ฌธ์ ๊ฐ NP-hard์์ ์ฆ๋ช
ํ๋ฉด
P = NP
์์ ์ฆ๋ช
ํ๊ฒ ๋๋ ๊ฒ.
NP-complete
์ต์ด์ NP-complete ๋ฌธ์
GSAT
์ด๋ค ๋ฌธ์ ๊ฐ NP-complete์ธ์ง ์ฆ๋ช
ํ๊ธฐ ์ํ ๊ณผ์
๋ง์ผ,
- (1) ๋ฌธ์ B๊ฐ NP์ ์ํ๊ณ
- (2) NP์ ์ํด ์๋ ๋ชจ๋ ๋ค๋ฅธ ๋ฌธ์ A์ ๋ํด
A โค โB
์ด๋ฉด B๋ NP-complete์ด๋ค. (NP-complete์ ์ ์)
- (2) ๋๋ ์ ์๋ ค์ง NP-complete ๋ฌธ์ A์ ๋ํด
A โค โB
์ด๋ฉด B๋ NP-complete์ด๋ค. (Cook์ ์ ๋ฆฌ)
Polynomial-Time Reduction (๋คํญ์ ์๊ฐ ๋ณํ)
- ๋ฌธ์ A์ ์ฌ๋ก ฮฑ๋ฅผ ๋ฌธ์ B์ ์ฌ๋ก ฮฒ๋ก ๋ฐ๊พธ๋ ์๋ ์ฑ์ง์ ๋ง์กฑํ๋ฉด polynomial-time reduction์ด๋ผ ํ๊ณ , ์ด๋ฅผ
ฮฑ โค โฮฒ
๋ก ํ๊ธฐํ๋ค
- (1) ๋ณํ์ ๋คํญ์ ์๊ฐ์ ์ด๋ฃจ์ด์ง๋ค
- (2) ๋ ์ฌ๋ก์ ๋ต์ ์ผ์นํ๋ค